Solution 1 startDatePreviousMonth = DATEADD(mm,-1,startDate) endDatePreviousMonth = DATEADD(dd,-1,startDate) startDatePreviousYear = DATEADD(yy,-1,startDate) endDatePreviousYear = DATEADD(dd,-1,DATEADD(mm,-11,startDate)) Solution 2 SET @startDatePreviousYear = CAST(DateAdd(yy,-1,@startDate)AS DATE) SET @endDatePreviousYear = CAST(DATEADD(dd,-1,DATEADD(yy,-1,DATEADD(dd,1,@endDate)))AS DATE) SET @startDatePreviousMonth = CAST(DateAdd(mm,-1,@startDate)AS DATE) SET @endDatePreviousMonth = CAST(DATEADD(dd,-DAY(@EndDate),@endDate)AS DATE)